package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Getter;
import lombok.Setter;
import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import cn.ffcs.uom.common.util.StrUtil;
/**
 * 人员家庭信息
 * 
 * @Title:
 * @Description:
 * @Copyright: FFCS（C） 2017
 * @Company: FFCS
 * @author Wang Yiren
 * @Version 0.0.1 date:2018年1月6日
 * @since JDK1.6
 */
public class UecFamily extends UomEntity implements Serializable {

	private static final long serialVersionUID = 1223649188126057978L;
	/**
	 * 人员家庭信息标识
	 * @return
	 */
	public Long getFamilyId() {
		return super.getId();
	}
	public void setFamilyId(Long familyId) {
		super.setId(familyId);
	}
	/**
	 * 员工标识
	 */
	@Getter
	@Setter
	private Long staffId;
	/**
	 * 员工类型
	 * 由于合同制、外包人员的奖励信息都放在一张表中
	 * 故用这个字段来区分
	 * nmStaffType = 2  为合同制
	 */
	@Getter
	@Setter
    private String nmStaffType;
	@Getter
	@Setter
	private Long monthId; // 帐期
	@Getter
	@Setter
	private String pkPsndocSub; // 主键
	@Getter
	@Setter
	private String creationtime; // 创建时间
	@Getter
	@Setter
	private String modifiedtime; // 修改时间
	@Getter
	@Setter
	private String pkOrg; // 所属组织
	@Getter
	@Setter
	private String memCorp; // 工作单位
	@Getter
	@Setter
	private String politics; // 政治面貌
	@Getter
	@Setter
	private String relaphone; // 联系电话
	@Getter
	@Setter
	private String period; // 期间
	@Getter
	@Setter
	private String memRelation; // 与本人关系
	@Getter
	@Setter
	private String memName; // 家庭成员姓名
	@Getter
	@Setter
	private String memJob; // 职务
	@Getter
	@Setter
	private String memBirthday; // 出生日期
	@Getter
	@Setter
	private String relaaddr; // 联系地址
	@Getter
	@Setter
	private String glbdef2; // 家庭成员状态
	@Getter
	@Setter
	private String glbdef1; // 性别
	@Getter
	@Setter
	private String creator; // 创建人
	@Getter
	@Setter
	private String modifier; // 修改人
	@Getter
	@Setter
	private String pkPsndoc; // 人员基本信息
	@Getter
	@Setter
	private String ts; // 时间戳
	@Getter
	@Setter
	private Long dr; // 删除标示
	@Getter
	@Setter
	private Long approveflag; // 审批标志
	@Getter
	@Setter
	private String lastflag; // 最近记录标志
	/**
	 * 创建对象实例
	 * @return
	 */
	public static UecFamily newInstance(){
		return new UecFamily();
	}
	
	/**
	 * 性别 名称
	 * @return
	 */
	public String getGlbdef1Name() {
		if(!StrUtil.isNullOrEmpty(this.getGlbdef1())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getGlbdef1());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	
	
	}
	
	/**
	 * 家庭人员状态 名称
	 * @return
	 */
	public String getGlbdef2Name() {
		if(!StrUtil.isNullOrEmpty(this.getGlbdef2())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getGlbdef2());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	}
	
	/**
	 * 政治面貌 名称
	 * @return
	 */
	public String getPoliticsName() {
		if(!StrUtil.isNullOrEmpty(this.getPolitics())) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getPolitics());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	
	}
}
